﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LM.InterfacesFabricas.DTOs;
using LM.InterfacesFabricas.Interfaces.Servicos;
using LM.InterfacesFabricas.Utilidades;
using LM.Negocio.Objetos;
using LM.Negocio.Validadores;
using LM.Repositorios;
using LM.Repositorios.Interfaces;

namespace LM.Servicos
{
    public class ServicoDeAutenticacao : IServicoDeAutenticacao
    {
        public bool Autentique(DtoOperador operador)
        {
            var repositorioDeOperadorAutenticacao = FabricaDeRepositorios.Crie<IRepositorioDeOperadorAutenticacao>();
            var validadorDeOperadorAutenticacao = new ValidadorDeAutenticacao(repositorioDeOperadorAutenticacao);
            var operadorObjeto = ConversorDeObjetos.Copie<Operador>(operador);

            validadorDeOperadorAutenticacao.ValideLogin(operadorObjeto);

            return repositorioDeOperadorAutenticacao.Consulte(operadorObjeto);
        }
    }
}
